//////////////////////////////////////////////////////////////////////////
//
// MGUI
//   GUI Engine For Myway
//   
//	 author: Myway
//	 e-mail: Myway3D@Gmail.com
//
// Copyright (c) 2013 - 2014 Infinite Team.
//
//
#ifndef MGUI_TEXTBOX_H
#define MGUI_TEXTBOX_H

#include "MGUI_Types.h"
#include "MGUI_Widget.h"
#include "MGUI_String.h"
#include "MGUI_FontManager.h"

namespace Myway {

	class MGUI_ENTRY MGUI_TextBox : public MGUI_Widget
	{
		DeclareRTTI();

	public:
		MGUI_TextBox(MGUI_Widget * _parent);
		virtual ~MGUI_TextBox();

		void SetCaption(const MGUI_String & caption);
		const MGUI_String & GetCaption();

		void SetFont(MGUI_Font * font);
		MGUI_Font * GetFont();

		int GetGlyphCount();
		const MGUI_Glyph * GetGlyph(int index);

		virtual void Update();
		virtual void UpdateRenderItem(MGUI_Layout * layout);

	protected:
		void _updateGlyph();

	protected:
		MGUI_String mCaption;
		MGUI_Font * mFont;

		MGUI_Rect mGlyphRect;
		Array<const MGUI_Glyph *> mGlyphs;
	};

}

#endif